﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using PccCommonForC;
using System.Security.Cryptography;

public partial class Member_Register_Register : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Ajax.Utility.RegisterTypeForAjax(typeof(Member_Register_Register));
        if (!IsPostBack)
        {
            BindPlace();
            Get_BirthDay(drlDay, 1, 31);
            Get_BirthDay(drlMonth, 1, 12);         
            Get_BirthDay(drlYear, 1930, System.DateTime.Now.Year);
            RefRules.ErrorMessage = "Bạn chưa đồng ý với những quy định của " + System.Configuration.ConfigurationManager.AppSettings["AppName"];
            lblRules.Text = "Tôi đã đọc và đồng ý với những quy định của " + System.Configuration.ConfigurationManager.AppSettings["AppName"];
            lblRules.Attributes.Add("onclick", "javascript:window.open('Rules.aspx','winRules','status=1,menu=0,scrollbars=1');");
          
        }
    }

    private void BindPlace()
    {
        clsWebShop cls=new clsWebShop();
        ddlPlace.DataSource = cls.Get_PlaceNoneProc();
        ddlPlace.DataTextField = "PlaceNm";
        ddlPlace.DataValueField = "PlaceID";
        ddlPlace.DataBind();
        ListItem item = new ListItem();
        item.Text = "---";
        item.Value = "";
        ddlPlace.Items.Insert(0, item);
    }

     private void  Get_BirthDay(DropDownList ddl,int first,int last)
     {
     
        for(int i=first;i<=last;i++)
        {
            if (i < 10) 
                ddl.Items.Add("0" + i);
            else
                ddl.Items.Add(i.ToString());
          
        }

     }
    protected void btnSend_Click(object sender, EventArgs e)
    {
        if (chkAgree.Checked == true)
        {
            clsWebShop cls = new clsWebShop();
            clsCommon clsCom = new clsCommon();
            RijndaelManaged mobjCryptoService = new RijndaelManaged();
            EncrypKey clsEncryp = new EncrypKey(mobjCryptoService);
           
            PccMsg msg = new PccMsg();
            msg.CreateFirstNode("AutID", "0");
            msg.CreateFirstNode("CusNm", txtName.Text);
            msg.CreateFirstNode("UserNm", txtUser.Text);
            msg.CreateFirstNode("Password",  clsEncryp.Encrypting((txtPassword.Text),System.Configuration.ConfigurationManager.AppSettings["EncrypKey"]));
            msg.CreateFirstNode("AccountID", "");
            msg.CreateFirstNode("TaxNo", txtTaxNo.Text);
            msg.CreateFirstNode("Address", txtAddress.Text);
            msg.CreateFirstNode("PlaceID", ddlPlace.SelectedValue);
            msg.CreateFirstNode("BirthDay", drlYear.SelectedItem.Text + drlMonth.SelectedItem.Text + drlDay.SelectedItem.Text);
            msg.CreateFirstNode("Phone", txtPhone.Text);
            msg.CreateFirstNode("Sex", DrlSex.SelectedValue);
            msg.CreateFirstNode("Email", txtEmail.Text);
            msg.CreateFirstNode("Status", "N");
            msg.CreateFirstNode("Rate", "0");
            msg.CreateFirstNode("UpdID", "0");
            string strReturn= cls.Ins_shr_User(msg.GetXmlStr.ToString());
            msg = new PccMsg(strReturn);
            string strErr=msg.Query("strOutput");
            string strOutUserID=msg.Query("strOutUserID");

            if (strErr == "0" && strOutUserID != "")
            {
                Session["UserID"] = strOutUserID;
                Session["UserName"] = txtName.Text;
                Session["UserEmail"] = txtEmail.Text;
                Session["AutID"] = "0";
                Session["IsAdmin"] = "N";
                Session["ErrLogin"] = "N";
            }




            /*==========================SEND MAIL====================================*/
            string HTML = "Xin chào "+ txtName.Text +"!<br>";
            HTML += "Cảm ơn bạn đã sử dụng dịch vụ của chúng tôi. Dưới đây là thông tin tài khoản bạn đã đăng ký tại website của chúng tôi<br>";
            HTML += "- Tên đăng nhập: "+txtUser.Text+"<br>";
            HTML += "- Địa chỉ e-mail: " + txtEmail.Text + "<br>";
            HTML += "- Mật khẩu: " + txtPassword.Text + "<br><br><br><br><br><br>";
            HTML += "Thank you to  my website: <a  href='http://" + System.Configuration.ConfigurationManager.AppSettings["AppAddress"].ToString() + "'>" + System.Configuration.ConfigurationManager.AppSettings["AppAddress"].ToString() + "</a>";


            clsCom.Send_AppEmail(System.Configuration.ConfigurationManager.AppSettings["InfoMail"].ToString(), txtEmail.Text, System.Configuration.ConfigurationManager.AppSettings["InfoMail"].ToString() + ";" + System.Configuration.ConfigurationManager.AppSettings["WebMail"].ToString(), "Thông tin tài khoản khách hàng", HTML);
            
           
            /*==============================================================*/
            string pagefile = "&nbsp;";
           // Response.Write("<script>window.location.href='" + ResolveUrl("~/") + "RegisterSuccess'</script>");
            Response.Redirect("~/Member/Register/Success.aspx");
           // Response.Write("<script>window.location.href='" + ResolveUrl("~/") + "RegisterSuccess/" + pagefile+"'</script>");

        }


    }


    
    [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
    public string AjaxCheckUser(string value)
    {
        string flag = "no";
        clsWebShop cls = new clsWebShop();
        DataTable dt = new DataTable();
        PccMsg msg = new PccMsg();
        msg.CreateFirstNode("UserNm", value.Trim());
        msg.CreateFirstNode("ExcUserID", "0");
        dt = cls.Get_shr_UserByUserNm(msg.GetXmlStr.ToString()).Tables[0];
        if (dt.Rows.Count > 0)
            flag = "yes";
        return flag;
    }
    [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
    public string AjaxCheckEmail(string value)
    {
        string flag = "no";
        clsWebShop cls = new clsWebShop();
        DataTable dt = new DataTable();
        PccMsg msg = new PccMsg();
        msg.CreateFirstNode("ExcUserID", "0");
        msg.CreateFirstNode("Email", value.Trim());
        dt = cls.Get_shr_UserByUserEmail(msg.GetXmlStr.ToString()).Tables[0];
        if (dt.Rows.Count > 0)
            flag = "yes";
        return flag;
    }

}
